Advancements in computer technology have led to a proliferation of client devices capable of browsing, navigating, and/or modifying content made visible through a display of the client device, using an input device. Often, a movement of an input device, such as a movement of a mouse or a slide wheel on a mouse, or of an arrow on a keyboard, may correlate to a degree of movement within content. This movement may be of the type known as scrolling. A common example of scrolling is browsing through a document too large to be totally displayed at once, where only some portion of the document is visible at a given time, and the scrolling changes the visible portion to a different portion showing more of the document above and less below, or less of the document above and more below.
Input devices that accept a scrolling method of user input are often associated with a scrolling algorithm to map units of scroll movement captured by movement-registering sensors of the devices to units of scroll motion affecting the displayed content. Often the scrolling algorithm used is a linear algorithm where N units of registered scroll movement result in F(N) units of determined scroll motion affecting the displayed content, where F(N) is of the form F(N)=mN, and m is a real number. Many scrolling input devices also implement “ballistic” or non-linear scrolling algorithms to achieve an acceleration of the scrolling effects. With such algorithms, for example, the longer the user provides scrolling input, the faster the user will scroll through a document.
Laptop computers are known to contain a user interface coupled to a tunable algorithm allowing users to modify one aspect of the scrolling behavior associated with scrolling usage of a laptop touchpad. Only that aspect (scroll sensitivity) may be modified however, and that modification requires input from the user.